Przerobiem player do cmc (na zauwaalnie krtszy) wzorujc si na wersji playera od Jaskiera, a wic z istotnymi poprawkami dla prawidowego odtwarzania wszystkich poprawnie zoonych muzyczek (bez nieoczekiwanych niespodzianek).

Postanowiem zaimplementowa ten player do programu kompozera, aby dao si bez koniecznoci asembacji kodu rdowego (ktrego np. moe w danym momencie brakowa pod rk) generowa player (?.REP) do muzyczki dowolnie ulokowanej w pamici.



Konieczne byo dodatkowo dorobienie bardziej uniwersalnej procedury relokujcej adresy wewntrz playera i podstawienie jej pod star.



Ostatni poprawk jak dokonaem byo zaznaczenie w tekcie info na dole paska numeru wersji CMC na 2.2 (od numeru wersji playera; wczeniejsze to: player 2.0 Janusza Pelca, 2.1 wersja poprawiona Jaskiera, ktra nie zostaa, z tego co wiem, zaimplementowana do adnej z "nieoficjanych" wersji kompozera).



Nic wicej poza tym nie zostao zmienione (poza zmianami adresw odwoa z innych obszarw do tej czci ktr podmieniem, czego oczywiie dopilnowa sam asembler na przerobionym kodzie "rdowym" pozyskanym dziki narzdziu DIS6502 - przy okazji podzikowania dla TeBe), nic obcite.



Odnonie tej wersji playera w stosunku do wersji 2.1 (Jaskiera), ktrego jest (tak bym chcia to postrzega), mam nadziej, godn nastpczyni, zachowane zostay nastpujce zmiany wprowadzone w tamtej wersji:



- usunicie dwch zasadniczych bdw playera (w uproszczonym opisie i niepenym znaczeniu) "odczytu strony $FF"

- $d20f zamiast $d21f

- pene odtwarzanie zawartoci strony zerowej sprzed wywoania procedury (cz init oryginalnej procedury jedno z dwch uywanych sw na niej nie odtwarzaa)

- wprowadzenie kontroli poprawnoci przy wywoywaniu z init (rA:=$20+kana, rY:=instrument, rX:=numer_dwiku) odgrywania pojedyczego dwiku "poza muzyczk"

- identyczne uszeregowanie zmiennych (player + offset : dostp do tej samej zmiennnej, np. czest)

- procedura podpisana swoj nazw - etykieta (ten sam offset co w wersji 2.1)



Zmiany i nowe funkcje, ktrych nie zdecydowaem si kontynuowa, powracajc do waciwoci playera 2.0:



- wycofanie si z moliwoci podmiany adresu rejestrw pokeya z poziomu wywoania (na np. drugi pokey) : rA:=$3x (x>0), rX\rY:= m.\st.powka adresu pokeya (lub dowolnego innego obszaru pamici), przy zachowaniu tradycyjnego znaczennia jeli rA:=$30 (x=0), rX:= tempo

- wycofanie si z przestawienia kodu dla basica sprzed tablic (pozostaj na kocu jak w wersji 2.0)



Innowacje w stosunku do wersji poprzednich:



- instrumenty slide up/down mog teraz przekracza granic pojemnoci bajta ($FF<->0) przy zmianach czstotliwoci (nie s "sztucznie" wyciszane w takim przypadku)



Przygotowaem Atr na ktrym znajduj si (poza dosem) przerobiona wersja CMC (CMC22.COM), oryginalna wersja CMC (CMC20.COM) i prawie oryginalna muzyczka Lasermania (LASER.CMC). Dwie ostatnie pozycje s po to, aby zademonstrowa ze dziaanie muzyczki przez zasadnicze bdy procedury odgrywajcej, ktre spostrzeg i poprawi Jaskier.

Muzyczka z Lasermanii ma wic jedn drobn "poprawk". Na nieuywanym (w dodatku pustym) istrumencie o numerze 21 ma wstawion warto $46 w drug (od gry) dan (to take druga warto opisujca ten instrument w module) - pozostae wartoci i obwiednie pozostaj wyczyszczone jak dla instrumentu pustego.

Tak przerobiona muzyczka bdzie le odtwarzana pod kad znan mi wersj kompozera (bo wszystkie dziaaj na oryginalnym playerze Pelca) poza t, ktr wanie opisuj (za co odpowiadaj poprawki Jaskiera), co proponuj przy tej okazji sprawdzi, eby si przekona i bdy nie s li tylko mityczne.

Proponuj take po zaadowaniu muzyczki z Lasermanii przewin instrumenty do tego o numerze 15 i wywoa dwik D-6 (kliwisz O przy ustawionych na klawiaturze oktawach 4|5) i sprzwdzi t now specyfikacj "poprawionego" dziaania instumentw z slide up/down. przy oryginalnym playerze dwik jest szybko przycinany, przy playerze 2.2 dwik wybrzmiewa na penej dugoci.



Moliwe e o czym zapomniaem napisa (nie mam zwyczaju sporzdza notatek, a pami mam wyjtkowo nietrwa). Nie wiem czy player nie zawiera swoich (ukrytych dla mnie) bdw. Gdyby zasza potrzeba i kto co zauway (zakadam na chwil, e kto zechce tego pouywa, chocia wiadomym jest e czas CMC naley ju do przeszoci), to oczywicie bd w przyszoci zainteresowany poprawkami takich ewentualnych bdw.



Zaczam Atr w zipie.



Marek "Marok" Sasnal